//package com.zmn.plat.dubbo.impl.price.meter3;
//
//import com.google.common.collect.Lists;
//import com.zmn.common.constant.GlobalConsts;
//import com.zmn.common.dto.KvDTO;
//import com.zmn.common.dto2.ResponseDTO;
//import com.zmn.common.utils.number.NumberUtil;
//import com.zmn.manager.common.database.annotation.ReadOnlyConnection;
//import com.zmn.plat.business.interfaces.channel.ChannelServiceCategoryBService;
//import com.zmn.plat.business.interfaces.pilot.ChannelPriceBService;
//import com.zmn.plat.business.interfaces.price.BkProductPriceBService;
//import com.zmn.plat.business.interfaces.price.meter3.Meter3ProductPriceBService;
//import com.zmn.plat.business.interfaces.price.meter3.MeterFlow3CommonBService;
//import com.zmn.plat.business.interfaces.product.ServProductBService;
//import com.zmn.plat.common.constant.OnePriceConsts;
//import com.zmn.plat.common.constant.ProductConsts;
//import com.zmn.plat.common.dto.price.ProductPriceDRO;
//import com.zmn.plat.common.dto.price.ProductPriceQuery;
//import com.zmn.plat.common.dto.price.meter3.ItemDRO3;
//import com.zmn.plat.common.dto.price.meter3.ProductPriceDRO3;
//import com.zmn.plat.common.dto.price.meter3.ProductTariffTypeDRO;
//import com.zmn.plat.common.dto.price.meter3.ProductTariffTypeQuery;
//import com.zmn.plat.common.exception.PlatException;
//import com.zmn.plat.dubbo.interfaces.price.meter3.Meter3ProductPriceRemoteService;
//import com.zmn.plat.dubbo.utils.DubboConsts;
//import com.zmn.plat.manager.dictionary.ProductDict;
//import com.zmn.plat.model.dto.price.PriceCalDTO;
//import com.zmn.plat.model.dto.product.ProductRelationDTO;
//import com.zmn.plat.model.entity.pilot.SupportPilotVO;
//import com.zmn.plat.model.entity.product.ServProduct;
//import com.zmn.plat.model.entity.product.ServProductQuery;
//import com.zmn.plat.model.entity.product.tariff.item.ProductItemQuery;
//import com.zmn.plat.model.entity.service.tariff.ServiceTariff;
//import com.zmn.plat.services.interfaces.product.ServProductService;
//import com.zmn.plat.services.interfaces.product.tariff.tariffproductitem3.TariffProductItem3Service;
//import com.zmn.plat.services.interfaces.service.tariff.ServiceTariffService;
//import com.zmn.plat.utils.bean.BeanCopyUtils;
//import com.zmn.plat.utils.bean.PageUtils;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.dubbo.config.annotation.Service;
//import org.springframework.util.CollectionUtils;
//
//import javax.annotation.Resource;
//import javax.validation.constraints.NotNull;
//import java.util.*;
//import java.util.concurrent.ArrayBlockingQueue;
//import java.util.concurrent.CompletableFuture;
//import java.util.concurrent.ThreadPoolExecutor;
//import java.util.concurrent.TimeUnit;
//import java.util.stream.Collectors;
//
///**
// * 描述: 计价器3.0产品默认价格实现类
// *
// * @author guoqiao
// * @since 2021/11/22 17:15
// */
//@Service(version = DubboConsts.INTERFACE_VERSION, validation = "true")
//@Slf4j
//public class Meter3ProductPriceRemoteServiceImpl implements Meter3ProductPriceRemoteService {
//
//    @Resource
//    Meter3ProductPriceBService meter3ProductPriceBService;
//    @Resource
//    MeterFlow3CommonBService meterFlow3CommonBService;
//
//    @Override
//    @ReadOnlyConnection
//    public ResponseDTO<List<ProductTariffTypeDRO>> listProductTariffTypeByQuery(ProductTariffTypeQuery query) {
//        log.info("Meter3ProductPriceRemoteServiceImpl.listProductTariffTypeByQuery：{}", query);
//        try {
//            List<ProductTariffTypeDRO> dros = meterFlow3CommonBService.listProductTariffTypeByQuery(query);
//            return ResponseDTO.success(dros);
//        } catch (PlatException e) {
//            return ResponseDTO.fromErrorCodeTable(e.getErrorCode());
//        } catch (Exception e) {
//            log.error("listProductTariffTypeByQuery查询失败,原因:{}", e.getMessage(), e);
//            return ResponseDTO.fail("查询失败，程序异常");
//        }
//    }
//
//    @Override
//    @ReadOnlyConnection
//    public ResponseDTO<List<ProductPriceDRO3>> listProductPriceByQuery(@NotNull(message = "入参不能为空") ProductPriceQuery query) {
//        log.info("Meter3ProductPriceRemoteServiceImpl.listProductPriceByQuery：{}", query);
//        try {
//            List<ProductPriceDRO3> dros = meter3ProductPriceBService.listProductPriceByQuery(query);
//            return ResponseDTO.success(dros);
//        } catch (PlatException e) {
//            return ResponseDTO.fromErrorCodeTable(e.getErrorCode());
//        } catch (Exception e) {
//            log.error("listProductPriceByQuery查询失败,原因:{}", e.getMessage(), e);
//            return ResponseDTO.fail("查询失败，程序异常");
//        }
//    }
//}
